package com.cino.demos.sourceCode.jvmtest;

import java.util.ArrayList;
import java.util.List;

/**
 * VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
 * 限制堆大小为20MB，避免撑爆物理内存，并在出现OOM时自动生成堆转储快照
 */
public class HeapOOM {
    static class OOMObject {}

    public static void main(String[] args) {
        List<OOMObject> list = new ArrayList<>();
        while (true) {
            list.add(new OOMObject()); // 无限创建对象，耗尽堆空间
        }
    }
}